Reverse engineering reusable software components from object-oriented APIs
نویسندگان
چکیده
Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise, software components are accepted to be more reusable and understandable entities than object-oriented ones. Thus, in this paper, we propose an approach for reengineering objectoriented APIs into component-based ones. We mine components as a group of classes based on the frequency they are used together and their ability to form a quality-centric component. To validate our approach, we experimented on 100 Java applications that used Android APIs.
منابع مشابه
Mining Software Components from Object-Oriented APIs
Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise, software components are admitted to be more reusable and understandable entities than object-oriented ones. Thus, in this paper, we propose an approach for reen...
متن کاملCreating Reusable Software Component from Object-Oriented Legacy System through Reverse Engineering
Due to the constant change in technology, lack of standardization, difficulties of changes and absence of distributed architecture, the business value of legacy systems have become weaker. We cannot undermine the importance of legacy systems because some of their functions are too valuable to be discarded and too expensive to reproduce. The software industry and researchers have recently paid m...
متن کاملIdentifying Software Components from Object-Oriented APIs Based on Dynamic Analysis
The reuse at the component level is generallymore effective than the one at the object-oriented class level. This is due to the granularity level where components expose their functionalities at an abstract level compared to the fine-grained object-oriented classes. Moreover, components clearly define their dependencies through their provided and required interfaces in an explicit way that faci...
متن کاملInference of Inheritance Relationships from Prolog Programs: a System Developed with PrologIII
In order to support the object oriented design of reusable software components, we propose to extract an inheritance hierarchy from a Prolog prototype. The goal is to define a reverse engineering technique for recovering structural design information through the analysis of the Prolog prototype. Inheritance is an essential means in object oriented languages to express inclusion polymorphism (i....
متن کاملA Pattern Language for Reverse Engineering
Abstract. This pattern language describes how to reverse engineer an object-oriented software system. Since the only way to achieve a truly reusable object-oriented design is recognised to be iterative development, reverse engineering is indeed an essential facet of any object-oriented development process. The pattern language itself covers the different phases one encounters when reverse engin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Journal of Systems and Software
دوره 131 شماره
صفحات -
تاریخ انتشار 2017